/** 
* 这里就可以单独写bak组件的状态了
* mutations 中的方法是不分组件的 , 假如你在 dialog_stroe.js 文件中的定义了
* switch_dialog 方法 , 在其他文件中的一个 switch_dialog 方法 , 那么
* $store.commit('switch_dialog') 会执行所有的 switch_dialog 方法。
* mutations里的操作必须是同步的。
* 通过 store.state 来获取状态对象，以及通过 store.commit 方法触发状态变更：
* getter 方法是获取数据  不会对原数据造成影响的函数
* actions 异步操作  action只管中间处理，处理完我就给你，你怎么存我不管；
* mutations 存储数据  同步操作 只管存，你给我（dispatch）我就存
* 我们将之前我们使用的 $store.state.show 统统改为 $store.state.dialog.show 即可
* // 这是更新路由的方法
    this.$router.push({  
        path:'/y',    //这是路由名称      
    })
*/
// 引入axios组件
import axios from 'axios';
import qs from 'qs';//处理数据  qs.stringify(params)

export default {
    // 访问状态对象
    state:{
        admininfo:[],//存储用户列表信息
        admininfoshow:[],//存储用户列表信息
        // admineditinfo:'',//存储要编辑的用户信息
        adminaction:false,
        adminRoleinfo:[],//存储角色列表信息
        adminAuthinfo:[],//存储角色列表信息
        adminAuthCate:[],//存储顶级角色信息
    },
    // 访问触发状态（是一个同步的批处理方式）
    mutations:{
        // 获取列表数据
        adminlistinfo(state,info){
            console.log(info.adminCount);
            state.admininfo = info.adminCount;
            state.admininfoshow = info.adminListShow;
        },
        // 重新请求页面数据接口
        admininfoagain(state,page,search){
            axios({
                method: "post",
                url: "/admin/admin/adminList",
                data: { 'page': page, 'search': search}
            })
            .then(function (response) {
                state.admininfo = response.data.adminList;
                state.admininfoshow = response.data.adminListShow;
            })
            .catch(function (response) {
                console.log(response);
            });
        },
        // 获取角色列表数据
        adminRolelistinfo(state,info){
            console.log(info);
            state.adminRoleinfo = info;
        },
        // 重新请求角色页面数据接口
        adminRoleInfoAgain(state, page, search){
            axios({
                method: "post",
                url: "/admin/admin/adminRoleList",
                data: { 'page': page, 'search': search}
            })
            .then(function (response) {
                console.log(response);
                state.adminRoleinfo = response.data
            })
            .catch(function (response) {
                console.log(response);
            });
        },
        // 获取权限列表数据
        adminAuthlistinfo(state,info){
            // console.log(info);
            state.adminAuthinfo = info.categorylist;
            state.adminAuthCate = info.categoryonelist;
        },
        // 重新请求角色页面数据接口
        adminAuthInfoAgain(state){
            axios({
                method: "post",
                url: "/admin/admin/adminAuthList",
                data: {}
            })
            .then(function (response) {
                console.log(response);
                state.adminAuthinfo = response.data.categorylist;
                state.adminAuthCate = response.data.categoryonelist;
            })
            .catch(function (response) {
                console.log(response);
            });
        },
        // 点击放开，点击收起
        changeCatePid(state,getid){
            let obj = state.adminAuthinfo;
            for(let el of obj){
                if (el.auth_pid == getid){
                    el.isshow = !el.isshow;
                }
            }
        },
    },
    // 是一个异步的批处理方式
    actions:{

    }

}